package com.ecut.property_project.model.contract;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

public class ContractCharge {
    private Integer id;

    /**
    * ！*套房编码
    */
    private String suiteId;

    /**
    * ！*套房名称
    */
    private String suiteName;

    /**
    * ！*收费标准(charge表
    */
    private String chargeStandard;

    /**
    * ！*收费项目名称(charge表
    */
    private String chargeItem;

    /**
    * ！*单价（charge表
    */
    private BigDecimal unitPrice;

    /**
    * ！*付款周期（charge表
    */
    private Object paymentCycle;

    /**
    * ！标准开始（见表头合同开始日期
    */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date standardStart;

    /**
    * ！标准结束（见表头合同结束日期
    */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date standardEnd;

    /**
    * 交租日
    */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date rentDueDate;

    /**
    * 备注
    */
    private String note;

    /**
    * 表头
    */
    private String headId;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getSuiteId() {
        return suiteId;
    }

    public void setSuiteId(String suiteId) {
        this.suiteId = suiteId;
    }

    public String getSuiteName() {
        return suiteName;
    }

    public void setSuiteName(String suiteName) {
        this.suiteName = suiteName;
    }

    public String getChargeStandard() {
        return chargeStandard;
    }

    public void setChargeStandard(String chargeStandard) {
        this.chargeStandard = chargeStandard;
    }

    public String getChargeItem() {
        return chargeItem;
    }

    public void setChargeItem(String chargeItem) {
        this.chargeItem = chargeItem;
    }

    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    public Object getPaymentCycle() {
        return paymentCycle;
    }

    public void setPaymentCycle(Object paymentCycle) {
        this.paymentCycle = paymentCycle;
    }

    public Date getStandardStart() {
        return standardStart;
    }

    public void setStandardStart(Date standardStart) {
        this.standardStart = standardStart;
    }

    public Date getStandardEnd() {
        return standardEnd;
    }

    public void setStandardEnd(Date standardEnd) {
        this.standardEnd = standardEnd;
    }

    public Date getRentDueDate() {
        return rentDueDate;
    }

    public void setRentDueDate(Date rentDueDate) {
        this.rentDueDate = rentDueDate;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getHeadId() {
        return headId;
    }

    public void setHeadId(String headId) {
        this.headId = headId;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", suiteId=").append(suiteId);
        sb.append(", suiteName=").append(suiteName);
        sb.append(", chargeStandard=").append(chargeStandard);
        sb.append(", chargeItem=").append(chargeItem);
        sb.append(", unitPrice=").append(unitPrice);
        sb.append(", paymentCycle=").append(paymentCycle);
        sb.append(", standardStart=").append(standardStart);
        sb.append(", standardEnd=").append(standardEnd);
        sb.append(", rentDueDate=").append(rentDueDate);
        sb.append(", note=").append(note);
        sb.append(", headId=").append(headId);
        sb.append("]");
        return sb.toString();
    }
}